\documentclass{standalone}

\usepackage{forest}
\usetikzlibrary{backgrounds,fit,positioning}

\begin{document}

\begin{forest}
	for tree={draw, circle, fill=white, l sep+=0.5em, where level={3}{s sep+=0.1em}{}, inner sep=0.05em}
	[, fill=black, inner sep=0, minimum size=0.2pt
		[{$-$}, edge label={node[midway,sloped,above]{$0.70$}}, name=a
			[$-$, edge label={node[midway,sloped,above]{$0.78$}}, name=b
				[$-$, edge label={node[midway,sloped,above]{$0.80$}}, name=c
					[$-$, edge label={node[midway,sloped,above]{$0.82$}}, name=d]
					[$+$, edge label={node[midway,sloped,above]{$0.18$}}]
				]
				[$+$, edge label={node[midway,sloped,above]{$0.20$}}
					[$-$, edge label={node[midway,sloped,above]{$0.49$}}]
					[$+$, edge label={node[midway,sloped,above]{$0.51$}}]
				]
			]
			[$+$, edge label={node[midway,sloped,above]{$0.22$}}
				[$-$, edge label={node[midway,sloped,above]{$0.50$}}
					[$-$, edge label={node[midway,sloped,above]{$0.70$}}]
					[$+$, edge label={node[midway,sloped,above]{$0.30$}}]
				]
				[$+$, edge label={node[midway,sloped,above]{$0.50$}}
					[$-$, edge label={node[midway,sloped,above]{$0.57$}}]
					[$+$, edge label={node[midway,sloped,above]{$0.43$}}]
				]
			]
		]
		[{$+$}, edge label={node[midway,sloped,above]{$0.30$}}
			[$-$, edge label={node[midway,sloped,above]{$0.50$}}
				[$-$, edge label={node[midway,sloped,above]{$0.71$}}
					[$-$, edge label={node[midway,sloped,above]{$0.75$}}]
					[$+$, edge label={node[midway,sloped,above]{$0.25$}}]
				]
				[$+$, edge label={node[midway,sloped,above]{$0.29$}}
					[$-$, edge label={node[midway,sloped,above]{$0.53$}}]
					[$+$, edge label={node[midway,sloped,above]{$0.47$}}]
				]
			]
			[$+$, edge label={node[midway,sloped,above]{$0.50$}}, name=b2
				[$-$, edge label={node[midway,sloped,above]{$0.50$}}
					[$-$, edge label={node[midway,sloped,above]{$0.72$}}]
					[$+$, edge label={node[midway,sloped,above]{$0.28$}}]
				]
				[$+$, edge label={node[midway,sloped,above]{$0.50$}}
					[$-$, edge label={node[midway,sloped,above]{$0.44$}}]
					[$+$, edge label={node[midway,sloped,above]{$0.56$}}, name=d2]
				]
			]
		]
	]
	\begin{scope}[on background layer]
		\node[fill=black!10, fit={(a.south) (b) (b2)}, inner ysep=0, inner xsep=3.4em, outer sep=0pt] {};
		\node[fill=black!10, fit={(c.south) (d) (d2)}, inner ysep=0, inner xsep=0.2em, outer sep=0pt] {};
	\end{scope}
	\node (p) [left=0 of d] {\bf memory 4};
	\node at (p |- c) {\bf memory 3};
	\node at (p |- b) {\bf memory 2};
	\node at (p |- a) {\bf memory 1};
\end{forest}
\end{document}
